home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libblas / rotm.z / rotm
Encoding:
Text File  |  2002-10-03  |  4.7 KB  |  122 lines

  1. ROTM(3F)                                              Last changed: 11-2-98
  2.  
  3.  
  4. NNAAMMEE
  5.      SSRROOTTMM, DDRROOTTMM - Applies a modified Givens plane rotation
  6.  
  7. SSYYNNOOPPSSIISS
  8.      Real
  9.         CCAALLLL SSRROOTTMM ((_n,, _x,, _i_n_c_x,, _y,, _i_n_c_y,, _r_p_a_r_a_m))
  10.  
  11.      Double precision
  12.  
  13.         CCAALLLL DDRROOTTMM ((_n,, _x,, _i_n_c_x,, _y,, _i_n_c_y,, _r_p_a_r_a_m))
  14.  
  15. IIMMPPLLEEMMEENNTTAATTIIOONN
  16.      IRIX systems
  17.  
  18. DDEESSCCRRIIPPTTIIOONN
  19.      These routines apply the modified Givens plane rotation constructed by
  20.      SSRROOTTMMGG/DDRROOTTMMGG.
  21.  
  22.      These routines have the following arguments:
  23.  
  24.      _n         Integer.  (input)
  25.                Number of planar points to be rotated.  If _n <= 0, these
  26.                routines return without any computation.
  27.  
  28.      _x         Array of dimension (_n-1) * |_i_n_c_x| + 1.  (input and output)
  29.                SSRROOTTMM: Real array.
  30.                DDRROOTTMM: Double precision array.
  31.                On input, array _x contains the _x-coordinate of each planar
  32.                point to be rotated.  On output, array _x contains the
  33.                _x-coordinate of each rotated planar point.
  34.  
  35.      _i_n_c_x      Integer.  (input)
  36.                Increment between elements of _x.  If _i_n_c_x = 0, the results
  37.                will be unpredictable.
  38.  
  39.      _y         Array of dimension (_n-1) * |_i_n_c_y| + 1.  (input and output)
  40.                SSRROOTTMM: Real array.
  41.                DDRROOTTMM: Double precision array.
  42.                On input, array _y contains the _y-coordinate of each planar
  43.                point to be rotated.  On output, array _y contains the
  44.                _y-coordinate of each rotated planar point.
  45.  
  46.      _i_n_c_y      Integer.  (input)
  47.                Increment between elements of _y.  If _i_n_c_x = 0, the results
  48.                will be unpredictable.
  49.  
  50.      _r_p_a_r_a_m    Array of dimension 5.  (input)
  51.                SSRROOTTMM: Real array.
  52.                DDRROOTTMM: Double precision array.
  53.                Contains rotation matrix information.
  54.  
  55.      These routines compute a planar rotation, with possible scaling or
  56.      reflection, as follows:
  57.  
  58.           _      _     _               _  _      _
  59.           | x(i) |     | h(1,1) h(1,2) |  | x(i) |
  60.           | y(i) | <-- | h(2,1) h(2,2) |  | y(i) |
  61.           -      -     -               -  -      -
  62.  
  63.           for i=1 , ... , n
  64.  
  65.      where the matrix that contains the elements _h(1,1), _h(2,1), _h(1,2),
  66.      and _h(2,2) is called a rotation matrix.
  67.  
  68.      The _r_p_a_r_a_m array determines the contents of the rotation matrix, as
  69.      follows:
  70.  
  71.      The key parameter, _r_p_a_r_a_m(1), may have one of four values:
  72.  
  73.           1.0,  0.0,  -1.0,  or -2.0
  74.  
  75.      If _r_p_a_r_a_m(1) = 1.0:
  76.  
  77.           _               _   _                      _
  78.           | _h(1,1) _h(1,2) | = | _r_p_a_r_a_m(2)      1.0   |
  79.           | _h(2,1) _h(2,2) |   |    -1.0    _r_p_a_r_a_m(5) |
  80.           -               -   -                      -
  81.  
  82.      and _r_p_a_r_a_m(3) and _r_p_a_r_a_m(4) are ignored.
  83.  
  84.      If _r_p_a_r_a_m(1) = 0.0:
  85.  
  86.           _               _   _                      _
  87.           | _h(1,1) _h(1,2) | = |       1.0  _r_p_a_r_a_m(4) |
  88.           | _h(2,1) _h(2,2) |   | _r_p_a_r_a_m(3)        1.0 |
  89.           -               -   -                      -
  90.  
  91.  
  92.      and _r_p_a_r_a_m(2) and _r_p_a_r_a_m(5) are ignored.
  93.  
  94.      If _r_p_a_r_a_m(1)=-1.0 (rescaling case):
  95.  
  96.           _               _   _                      _
  97.           | _h(1,1) _h(1,2) | = | _r_p_a_r_a_m(2)  _r_p_a_r_a_m(4) |
  98.           | _h(2,1) _h(2,2) |   | _r_p_a_r_a_m(3)  _r_p_a_r_a_m(5) |
  99.           -               -   -                      -
  100.  
  101.      This is a full matrix multiplication.
  102.  
  103.      If _r_p_a_r_a_m(1) = -2.0:
  104.  
  105.           _               _   _          _
  106.           | _h(1,1) _h(1,2) | = | 1.0  0.0 | = _I
  107.           | _h(2,1) _h(2,2) |   | 0.0  1.0 |
  108.           -               -   -          -
  109.  
  110.      where _I is the _i_d_e_n_t_i_t_y _m_a_t_r_i_x.  In this case, _r_p_a_r_a_m(2), _r_p_a_r_a_m(3),
  111.      _r_p_a_r_a_m(4), and _r_p_a_r_a_m(5) are ignored.
  112.  
  113.      If _n <=  0, or if the rotation matrix is the identity matrix (for
  114.      example, when _r_p_a_r_a_m(1) = -2.0), these routines return with no
  115.      operation on input arrays _x and _y.
  116.  
  117. SSEEEE AALLSSOO
  118.      RROOTTMMGG(3F) for further details about the modified Givens transformation
  119.      and array _r_p_a_r_a_m
  120.  
  121.      This man page is available only online.
  122.